Mobile Printing

ABSTRACT

A method of printing comprising, at an imaging device, receiving a print-by-reference print request and an encryption key from a mobile device, transmitting the print-by-reference print request and the encryption key to a print service, receiving encrypted print content from the print service, receiving a decryption key from the mobile device, decrypting the encrypted print content, creating decrypted print content, and printing the decrypted print content. A method of printing content requested from a mobile device, comprising receiving a print request and encrypted print content, receiving a decryption key from the mobile device, decrypting the encrypted print content, and printing the decrypted print content.

RELATED DOCUMENTS

The present application is a continuation-in-part, and claims the benefit under 35 U.S.C. §120, of U.S. patent application Ser. No. 09/970,496, filed Oct. 3, 2001. This application is herein incorporated by reference in its entirety.

BACKGROUND

The present invention relates generally to mobile electronic devices and imaging devices.

Mobile electronic devices, such as mobile phones and personal digital assistants (PDA's), enjoy widespread popularity. The capabilities and functionality of these devices also continue to increase. For example, many of these devices have Internet browsing capability, which affords access to a wide variety of content and commercial service opportunities.

One drawback with mobile electronic devices is that their limited memory, display and bandwidth capabilities restrict the type and amount of content readily available to a device user. Typically, content is formatted specifically for a mobile electronic device in a manner designed to conserve device resources. In general, rich or data-intensive content is avoided in favor of more streamlined content.

In the field of printing, these resource limitations of mobile electronic devices restrict printing opportunities. In general, the traditional printing model involves pushing content resident on an electronic device, such as a PC, to an imaging device. Many imaging devices, such as personal inkjet printers, must receive the content rendered in a printer-ready format, such as PCL-3 or other page description language. Thus, the electronic device sending the print request must first convert the content into the appropriate printer-ready format.

One attempt to increase the printing capabilities of mobile electronic devices involves referencing data content resident on a remote content provider, sometimes known as “print-by-reference”. In one example of the print-by-reference printing model, the user of a mobile device sends a print-by-reference print request to an imaging device. The print-by-reference request may include, for example, a uniform resource locator (URL) address for the content to be printed. The imaging device transmits the request to a remote print service. The print service retrieves the content from a content provider, renders the content into the printer-ready format appropriate for the imaging device and transmits the content to the imaging device for printing. A more detailed description of the print-by-reference printing model is available in U.S. patent application Ser. No. 09/897,693 entitled PRINT BY REFERENCE SERVICE COMMUNICATION PROTOCOL AND INTERFACE and Ser. No. 09/897,646 entitled PORTABLE WIRELESS DEVICE AND PRINT DEVICE PRINT BY REFERENCE PROTOCOL, both applications assigned to Hewlett-Packard Co. Both of these applications are incorporated herein by reference in their entirety.

The mobility of the user of a mobile electronic device in the print-by-reference printing model presents potential challenges. For example, a mobile phone user waiting in an airport may desire to print a document using the print-by-reference model. The user may send a print-by-reference print request to an airport printer and wait for the printed output. Perhaps traffic is heavy on the print service or the airport printer has previous print requests in its queue. For these and various other reasons, there may be a delay in executing the user's print request. If during this delay the user must leave the area, perhaps to catch a flight, the print job will be printed despite the user's absence. In another situation, the user may be present when the print job is received by the imaging device, but may be unable to wait for the entire print job to be printed. Thus, it would be desirable to provide an improved printing method that addresses these types of situations and gives the user greater control over the printing process

BRIEF DESCRIPTION OF THE DRAWINGS

The accompanying drawings illustrate various examples of the principles described herein and are a part of the specification. The examples do not limit the scope of the claims.

FIG. 1 is a block diagram of an exemplary wireless printing configuration that may be utilized in practicing the methods of the present invention.

FIGS. 2 and 3 are a flow chart of the steps of one embodiment of the present invention.

FIG. 4 is a flow chart of the steps of one aspect of an embodiment of the present invention.

DETAILED DESCRIPTION

FIG. 1 illustrates an embodiment of a wireless printing configuration 100 that may be utilized to practice the methods of the present invention. The wireless printing configuration 100 includes a mobile electronic device 102 and an imaging device 106. The imaging device may comprise, for example, an inkjet or electrophotographic printer, a fax machine, a multi-function printer/copier/scanner device, a copier, a video printer or the like. The mobile electronic device 102 may comprise, for example, a PDA, a mobile phone, a laptop PC, a wireless data terminal, or other such device with like capabilities. The mobile electronic device 102 includes a processor 110 and a memory 116, both of which are coupled to a local interface 119. The local interface may be, for example, a data bus with an accompanying control/address bus as is generally know by those with ordinary skill in the art.

The mobile device 102 also includes a wireless interface 124 that is coupled to the local interface 119 and facilitates wireless communication with the imaging device 106 and other wireless devices and/or networks. The wireless interface 124 may include, for example, a wireless modem and an appropriate network card that may be employed to transmit data to and receive data from the imaging device 106 and across the network 150. Any of various wireless communication protocols may be utilized by the mobile device 102, including but not limited to infrared, Bluetooth RF protocol and IEEE 802.11 RF protocol. The network 150 may comprise, for example, the Internet, wide area networks, local area networks or other similar networks.

The memory 116 stores several components that are executable by the processor 110. These components include, for example, an operating system 126, a print-by-reference application 128 and cryptography or encryption logic 132. The operating system 126 is executed to control the allocation and usage of hardware resources in the mobile device 102. For example, the operating system 126 controls the allocation and usage of the memory 116 and processing time, as well as performing other functionality as is generally know by those with ordinary skill in the art.

The print-by-reference application 128 may operate to execute a print-by-reference printing model. For example, the user of the mobile device 102 may transmit a print-by-reference print request to the imaging device 106. The print-by-reference print request may contain, for example, a URL address of the content to be printed. The imaging device 106 transmits the print request to a print service 156 over the network 150. The print service 156 retrieves the content identified in the print request, such as from a content provider 160, renders the retrieved content into a format appropriate for the imaging device 106 and transmits the rendered content to the imaging device for printing.

The encryption logic 132 is utilized to generate one or more encryption keys that are in turn utilized to encrypt and decrypt data. It will be appreciated that the encryption logic 132 may comprise any one of various encryption technologies well known to one of ordinary skill in the art. An example of an encryption technology commonly used with the Internet is the Secure Sockets Layer (SSL) protocol.

With reference now to one embodiment of the present invention, where a user of the mobile device 102 desires greater control over a print-by-reference print request, the print-by-reference application 128 may utilize the encryption logic 132 to generate encryption keys for encrypting and decrypting the content to be printed. In one embodiment of the present invention, the encryption logic 132 operates in the context of a print-by-reference print request to generate a symmetrical pair of encryption keys. With reference now to FIGS. 2 and 3, a flow chart of one embodiment of the method of the present invention is illustrated. Beginning with block 200, the encryption logic 132 in the mobile device 102 generates a symmetrical pair of encryption keys including a first encryption key and a second encryption key. The first and second encryption keys may be stored in the memory 116 on the mobile device 102. In block 202 the print-by-reference application 128 generates a print request that includes an address or location of the content to be printed, such as a URL. In block 204 the mobile device 102 transmits the first encryption key and the print request to the imaging device 106.

In block 206 the imaging device 106 transmits the print request and the first encryption key to a print service 156. The print service 156 retrieves the content identified in the print request, such as from a content provider 160 (block 208). It will be appreciated that the content may also reside within the print service 156. The print service 156 then renders the retrieved content into a format appropriate for the imaging device 106 (block 210), creating rendered content. In block 212 the print service 156 encrypts the rendered content with the first encryption key to create encrypted rendered content. In block 214 the print service 156 then transmits the encrypted rendered content to the imaging device 106.

Upon receiving the encrypted rendered content, in block 216 the imaging device 106 transmits a request for the second encryption key to the mobile device 102. Upon receiving the request from the imaging device 106, in block 218 the mobile device transmits the second encryption key to the imaging device. In block 220 the imaging device 106 decrypts the encrypted rendered content with the second encryption key to create decrypted rendered content. In block 222 the imaging device 106 then prints the decrypted rendered content.

In another embodiment of the present invention, the mobile device 102 may transmit the first encryption key, the print request, the address of an imaging device and the address of the mobile device directly to a print service 156 over the network 150. With reference to FIGS. 2 and 3, in this embodiment steps 204 and 206 would be replaced by the step of the mobile device transmitting the first encryption key, the print request, the address of the imaging device 106 and the address of the mobile device directly to the print service 156. Step 214 would also include transmitting the address of the mobile device 102 from the print service 156 to the imaging device 106. The remainder of the steps 208-222 would remain the same.

To complete the print request transmitted from the mobile device 102, the imaging device 106 must receive the second encryption key from the mobile device to decrypt the encrypted rendered content received from the print service 156. With reference now to FIG. 4, one embodiment that is directed to this aspect of the present invention is illustrated. Beginning with block 216, and assuming that the imaging device 106 has received the encrypted rendered content from the print service 156, the imaging device transmits a request for the second encryption key to the mobile device 102. The imaging device then starts a predetermined time period (block 230) and determines whether it has received the second encryption key from the mobile device 102 (block 232). If it has not received the second encryption key, then it determines whether the predetermined time period has expired (block 234). If the predetermined time period has expired, then the imaging device cancels the print request (block 236). In this case, because the mobile device did not respond to the request to transmit the second encryption key, this may indicate that the user of the mobile device is no longer near the imaging device 106, and perhaps has left the area. Advantageously in this situation, the print request is canceled and the content requested by the user of the mobile device is not printed. Additionally, the encrypted rendered content received by the imaging device remains encrypted, thereby protecting the content from undesired disclosure.

With continued reference to FIG. 4, block 234, if the predetermined time period has not expired, then the imaging device 106 again determines whether the second encryption key has been received (block 232). If the second encryption key has been received, then the imaging devices uses the second encryption key to decrypt the encrypted rendered content to create decrypted rendered content (block 220). In block 222 the imaging device 106 then prints the decrypted rendered content.

With reference to FIG. 1, it will be appreciated that the memory 116 may include both volatile and nonvolatile memory and data storage components. Volatile components are those that do not retain data values upon loss of power. Nonvolatile components are those that retain data upon a loss of power. Thus, the memory 116 may comprise, for example, random access memory (RAM), read-only memory (ROM), hard disk drives, floppy disks accessed via an associated floppy disk drive, compact discs accessed via a compact disc drive, magnetic tapes accessed via an appropriate tape drive, and/or other memory components, or a combination of any two or more of these memory components. In addition, the RAM may comprise, for example, static random access memory (SRAM), dynamic random access memory (DRAM), or magnetic random access memory (MRAM) and other such devices. The ROM may comprise, for example, a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), or other like memory devices.

The method of printing of the present invention may be embodied in software or code executed by general purpose hardware as discussed above, or may be embodied in dedicated hardware or a combination of software/general purpose hardware and dedicated hardware. If embodied in hardware, the method of printing may be expressed or implemented as a circuit or state machine that employs any one of or a combination of a number of technologies. These technologies may include, but are not limited to, discrete logic circuits having logic gates for implementing various logic functions upon an application of one or more data signals, application specific integrated circuits (ASICs) having appropriate logic gates, programmable gate arrays (PGAs), field programmable gate arrays (FPGAs), or other components. Such technologies are generally well known by those of ordinary skill in the art.

The block diagrams of FIGS. 2-4 show the architecture, functionality and operation of an implementation of the method of printing of the present invention. If embodied in software, each block may represent a module, segment or portion of code that comprises program instructions to implement the specified logical function(s). The program instructions may be embodied in the form of source code that comprises human-readable statements written in a programming language or machine code that comprises numerical instructions recognizable by a suitable execution system such as a processor in a computer system or other system. The machine code may be converted from the source code, etc. If embodied in hardware, each block may represent a circuit or a number of interconnected circuits to implement the specified logical function(s).

While the block diagrams of FIGS. 2-4 may show a specific order of execution, it will be appreciated that two or more steps in the diagrams that are shown executed in succession may be executed concurrently or with partial concurrence. In addition, any number of counters, state variables, warning semaphores, or messages might be added to the logical flow described herein, for purposes of enhanced utility, accounting, performance measurement, troubleshooting, etc. It is understood that all such variations are within the scope of the present invention. The block diagrams of FIGS. 2-4 are relatively self-explanatory and may be utilized by one of ordinary skill in the art to create software and/or hardware to carry out the various logical functions described and illustrated.

Where the method of the present invention comprises software or code, it may be embodied in any computer-readable medium for use by or in connection with an instruction execution system such as, for example, a processor in a computer system or other system. In this sense, the method of the present invention may comprise, for example, statements including instructions and declarations that may be fetched from the computer-readable medium and executed by the instruction execution system. In the context of the present invention, a “computer-readable medium” may be any medium that can contain, store or otherwise maintain the method of the present invention for use by or in connection with an instruction execution system. The computer-readable medium may comprise any one of many physical media such as, for example, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor media. More specific examples of a suitable computer-readable medium would include, but are not limited to, magnetic tapes, magnetic floppy diskettes, magnetic hard drives and compact discs. Also, the computer-readable medium may be a random access memory (RAM) including, for example, static random access memory (SRAM), dynamic random access memory (DRAM), or magnetic random access memory (MRAM). In addition, the computer-readable medium may be a read-only memory (ROM), a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), or other type of memory device.

It will be appreciated that a variety of other equivalent modifications and substitutions may be made to the method of the present invention according to the concepts covered herein, depending upon the particular implementation, while still falling within the scope of the claims below. 

1. An imaging device to receive a print-by-reference print request and an encryption key from a mobile device comprising: a network interface to transmit the print-by-reference print request and the encryption key to a print service; in which the imaging device: receives encrypted print content from the print service over the network interface; receives a decryption key from the mobile device over the network interface; and decrypts the encrypted print content, creating decrypted print content.
 2. The imaging device of claim 1, in which the print-by-reference print request includes a uniform resource locator indicative of a location of the print content.
 3. The imaging device of claim 1, in which the encryption key and decryption key are a symmetrical pair of keys.
 4. The imaging device of claim 1, in which the encrypted print content is content rendered into a format with which the imaging device may recognize and print.
 5. The imaging device of claim 1, in which the imaging device transmits a request to the mobile device for the decryption key after the imaging device receives the encrypted print content from the print service.
 6. The imaging device of claim 1, in which the imaging device does not print the encrypted print content until the decryption key is received from the mobile device.
 7. A method of printing content requested from a mobile device, comprising: receiving a print request and encrypted print content; receiving a decryption key from the mobile device; decrypting the encrypted print content; and printing the decrypted print content.
 8. The method of claim 7, further comprising preventing the printing of the decrypted print content until the decryption key is received from the mobile device.
 9. The method of claim 8, in which the print request and encrypted print content are received from a third-party print service, in which the third-party print service encrypted the print content.
 10. The method of claim 7, further comprising after receiving a print request and encrypted print content, transmitting a request to the mobile device for the decryption key.
 11. The method of claim 7, in which after a length of time without receiving a decryption key from the mobile device, canceling the print request.
 12. The method of claim 1, in which the encrypted print content is content rendered into a format with which an imaging device may recognize and print.
 13. A computer program product for printing content requested from a mobile device, the computer program product comprising: a computer readable storage medium comprising computer usable program code embodied therewith, the computer usable program code comprising: computer usable program code to, when executed by a processor, receive a print request and encrypted print content; computer usable program code to, when executed by a processor, receive a decryption key from the mobile device; computer usable program code to, when executed by a processor, decrypt the encrypted print content; and computer usable program code to, when executed by a processor, print the decrypted print content.
 14. The computer program product of claim 13, further comprising computer usable program code to, when executed by a processor, transmit a request to the mobile device for the decryption key after receiving a print request and encrypted print content.
 15. The computer program product of claim 14, further comprising computer program code to, when executed by a processor, cancel the print request after a length of time without receiving a decryption key from the mobile device. 